This invention relates to voice frame network performance enhancement, and more specifically to method and apparatus for handling congested inbound traffic over a voice frame network such as one operating under a voice over Internet protocol (VoIP).
In most cases where aggregation and edge routers have multiple interfaces, forwarding capacity of the router is not enough to concurrently handle data coming in at the line rate at all the interfaces. For example, with fast Ethernet, data coming in at the line rate on a single interface can saturate the forwarding engine. Random loss of data at the input of an interface results. Yet it is difficult to control the sources of the incoming data because of the burst nature of the data traffic over such interfaces. To avoid loss of voice packets in such circumstances, voice data must be differentiated from the rest of the data packets before the data are forwarded.
Suggested approaches to solving the congestion problem include the use of hardware support and layer two classification schemes like the IEEE 802.1p Ethernet standard. That suggested solution would require separate queues of data at the input of an interface as per the classification levels expounded in the referenced standard. That suggested solution also would require special hardware to support layer two classification, and requires modification of the scheduling framework of the operating system (OS) because the OS would have to service multiple input queues per interface, which require service in the order of their priority level. Another problem with that suggested solution involves the different classification schemes at layer three, since for layer two classification to be effective there must be a proper mapping from layer three to layer two classification.
There are various layer two and layer three methods of classification available. There are different problems associated with using them. Layer two classification schemes like IEEE 802.1p require special hardware to implement them, which rules out the possibility of using them on existing platforms. The problem in using layer three data classification scheme is that there are different data classification schemes at layer three. Most prominent of the layer three classification schemes is Ipv4 TOS bits (RFC791), Ipv6 Traffic Class octet (RFC 2460) and Diffserv code point (RFC 2474). Supporting all these data schemes to classify the data would create a large performance degradation under normal circumstances.
A superior solution would solve the congestion problem, i.e. input queue overflow, at the lowest possible level, e.g. hardware or close to hardware, depending on the platform. At this level, it is very important to not lose time in classifying the packet, which packet classification is required in any solution. The following key requirements thus are noted.                a) The input classification should not have any negative impact on performance under normal circumstances, i.e. when there is no congestion.        b) In case of input traffic congestion, such condition should be detected before the input queue overflow occurs.        c) After detecting the input congestion, the method of discriminating the voice packets from the data packets should be fast and simple.        d) The goal of discriminating voice from data is to give priority to the voice packets. It is not necessary to differentiate between various data categories.        e) Making multiple input queues per interface a part of the solution should be avoided. This is because multiple input queues require OS-level service support.        